package main

import "go.manyji.com/lib/json"

type data_User struct {
}

type data_Recharge struct{}
type data_Role struct{}

type data_IncomeStatistics struct{}
type data_DailyRechargeStatistics struct{}
type data_UserRecords struct{}

type QueryCount struct {
	Count uint64 `json:"count" db:"count"`
}

type Role struct {
	ID        int64  `json:"id" db:"id"`       //  自增id
	Name      string `json:"name" db:"name"`   //  角色名称（角色名称信息）
	Alias     string `json:"alias" db:"alias"` //  别名（角色名称的另一个叫法）
	CreateAt  int64  `json:"create_at" db:"create_at"`
	UpdatedAt int64  `json:"updated_at" db:"updated_at"`
	Deleted   int64  `json:"deleted" db:"deleted"` //  标识记录是否被删除（0：没有被删除，1：被删除）
}

type User struct {
	ID                   uint64 `json:"id" db:"id"`                                         //  自增id
	Tag                  string `json:"tag" db:"tag"`                                       //  标签
	Account              string `json:"account" db:"account"`                               //  账号（4-20位字符）
	Passwd               string `json:"passwd" db:"passwd"`                                 //  密码（默认填充位8位数字）
	BusinessPriceId      uint64 `json:"business_price_id" db:"business_price_id"`           //  价格方案表的主键ID
	BusinessTypeIds      string `json:"business_type_ids" db:"business_type_ids"`           //  筛源配置表的主键ID
	Status               int64  `json:"status" db:"status"`                                 //  1:正常状态,2:冻结状态
	RoleId               uint64 `json:"role_id" db:"role_id"`                               //  对应role表的主键id
	LeaderId             int64  `json:"leader_id" db:"leader_id"`                           //  默认不显示，只有当用户角色选择渠道主时才会展示这个字段
	TopLeaderId          int64  `json:"top_leader_id" db:"top_leader_id"`                   //  顶级上级用户id
	RechargePoints       uint64 `json:"recharge_points" db:"recharge_points"`               //  积分（普通充值的积分，这里显示的是人民币充值的钱，1 积分=1 元）
	BonusPoints          uint64 `json:"bonus_points" db:"bonus_points"`                     //  赠送积分（管理员赠送给客户充值的积分）
	PointsConsumeAccount uint64 `json:"points_consume_account" db:"points_consume_account"` // 账户消耗（收款充值所消耗的金额；账户消耗=利润），不存入数据库
	PointsConsumeGift    uint64 `json:"points_consume_gift" db:"points_consume_gift"`       // 赠送消耗（赠送给客户的积分所消耗的金额）
	LastRecharge         int64  `json:"last_recharge" db:"last_recharge"`                   //  最近一次充值
	LastConsume          int64  `json:"last_consume" db:"last_consume"`                     //  最近一次消耗
	LastLogin            int64  `json:"last_login" db:"last_login"`                         //  最近一次登录
	Creator              int64  `json:"creator" db:"creator"`                               //  创建人（修改人）
	CreateAt             int64  `json:"create_at" db:"create_at"`
	UpdatedAt            int64  `json:"updated_at" db:"updated_at"`
	Deleted              int64  `json:"deleted" db:"deleted"` //  标识记录是否被删除（0：没有被删除，1：被删除）
}

type UserAuth struct {
	ID         uint64 `json:"id" db:"id"`                   //  自增id
	Uid        uint64 `json:"uid" db:"uid"`                 //  用户id（user表的主键id）
	SessionKey string `json:"session_key" db:"session_key"` //  会话key
	ExpireTime int64  `json:"expire_time" db:"expire_time"` //  过期时间
}

type GetRechargeTotalType struct {
	AccountId           uint64 `json:"account_id" db:"account_id"`
	Type                int    `json:"type" db:"type"`
	RechargePointsTotal uint64 `json:"recharge_points_total" db:"recharge_points_total"`
	BonusPointsTotal    uint64 `json:"bonus_points_total" db:"bonus_points_total"`
	RefundPointsTotal   uint64 `json:"refund_points_total" db:"refund_points_total"`
}

type UserQueryRsp struct {
	ID                   int64   `json:"id" db:"id"`                                         //  全局自增id
	Seq                  int64   `json:"seq"  db:"-"`                                        // 当前查询条件下的连续ID
	Tag                  string  `json:"tag"  db:"tag"`                                      //  账号（4-20位字符）
	Account              string  `json:"account"  db:"account"`                              //  账号（4-20位字符）
	Passwd               string  `json:"passwd"  db:"passwd"`                                //  密码（默认填充位8位数字）
	Status               int     `json:"status"  db:"status"`                                //  1:正常状态,2:冻结状态
	RoleId               int64   `json:"role_id"  db:"role_id"`                              //  对应role表的主键id
	RoleName             *string `json:"role_name" db:"role_name"`                           //  角色名称
	RoleAlias            *string `json:"role_alias" db:"role_alias"`                         //  角色别名
	LeaderId             int64   `json:"leader_id" db:"leader_id"`                           //  默认不显示，只有当用户角色选择渠道主时才会展示这个字段
	LeaderName           *string `json:"leader_name" db:"leader_name"`                       //  上级名称
	RechargePoints       uint64  `json:"recharge_points" db:"recharge_points"`               //  积分（普通充值的积分，这里显示的是人民币充值的钱，1 积分=1 元）
	BonusPoints          uint64  `json:"bonus_points" db:"bonus_points"`                     //  赠送积分（管理员赠送给客户充值的积分）
	PointsConsumeAccount uint64  `json:"points_consume_account" db:"points_consume_account"` // 账户消耗（收款充值所消耗的金额；账户消耗=利润），不存入数据库
	PointsConsumeGift    uint64  `json:"points_consume_gift" db:"points_consume_gift"`       // 赠送消耗（赠送给客户的积分所消耗的金额）
	CreateAt             int64   `json:"create_at" db:"create_at"`
	UpdatedAt            int64   `json:"updated_at" db:"updated_at"`
	Deleted              int64   `json:"deleted" db:"deleted"`              //  标识记录是否被删除（0：没有被删除，1：被删除）
	IsAdmin              bool    `json:"is_admin,omitempty" db:"-"`         //  是否是管理员角色
	IsSalespersonRole    bool    `json:"is_salesperson,omitempty" db:"-"`   //  是否是渠道主角色
	IsAgentRole          bool    `json:"is_agent,omitempty" db:"-"`         //  是否是代理商角色
	IsChannelAgent       bool    `json:"is_channel_agent,omitempty" db:"-"` //  是否是渠道主角色
}

type UserQueryRsp1 struct {
	ID                   int64   `json:"id" db:"id"`                                         //  全局自增id
	Seq                  int64   `json:"seq"  db:"-"`                                        // 当前查询条件下的连续ID
	Tag                  string  `json:"tag"  db:"tag"`                                      //  账号（4-20位字符）
	Account              string  `json:"account"  db:"account"`                              //  账号（4-20位字符）
	Passwd               string  `json:"passwd"  db:"passwd"`                                //  密码（默认填充位8位数字）
	BusinessPriceId      uint64  `json:"business_price_id" db:"business_price_id"`           //  价格方案表的主键ID
	BusinessPriceName    *string `json:"business_price_name" db:"business_price_name"`       //  价格方案表的名称
	BusinessPriceDesc    *string `json:"business_price_desc" db:"business_price_desc"`       //  价格方案表的描述
	Status               int     `json:"status"  db:"status"`                                //  1:正常状态,2:冻结状态
	RoleId               int64   `json:"role_id"  db:"role_id"`                              //  对应role表的主键id
	RoleName             *string `json:"role_name" db:"-"`                                   //  角色名称
	RoleAlias            *string `json:"role_alias" db:"-"`                                  //  角色别名
	LeaderId             int64   `json:"leader_id" db:"leader_id"`                           //  默认不显示，只有当用户角色选择渠道主时才会展示这个字段
	LeaderName           *string `json:"leader_name" db:"-"`                                 //  上级名称
	RechargePoints       uint64  `json:"recharge_points" db:"recharge_points"`               //  积分（普通充值的积分，这里显示的是人民币充值的钱，1 积分=1 元）
	BonusPoints          uint64  `json:"bonus_points" db:"bonus_points"`                     //  赠送积分（管理员赠送给客户充值的积分）
	PointsConsumeAccount uint64  `json:"points_consume_account" db:"points_consume_account"` // 账户消耗（收款充值所消耗的金额；账户消耗=利润），不存入数据库
	PointsConsumeGift    uint64  `json:"points_consume_gift" db:"points_consume_gift"`       // 赠送消耗（赠送给客户的积分所消耗的金额）
	CreateAt             int64   `json:"create_at" db:"create_at"`
	UpdatedAt            int64   `json:"updated_at" db:"updated_at"`
	Deleted              int64   `json:"deleted" db:"deleted"`              //  标识记录是否被删除（0：没有被删除，1：被删除）
	IsAdmin              bool    `json:"is_admin,omitempty" db:"-"`         //  是否是管理员角色
	IsSalespersonRole    bool    `json:"is_salesperson,omitempty" db:"-"`   //  是否是渠道主角色
	IsAgentRole          bool    `json:"is_agent,omitempty" db:"-"`         //  是否是代理商角色
	IsChannelAgent       bool    `json:"is_channel_agent,omitempty" db:"-"` //  是否是渠道主角色
}

type DailyRechargeStatistics struct {
	ID                  int64  `json:"id" db:"id"`                                       // 自增id
	Date                string `json:"date" db:"date"`                                   // 充值日期
	RechargePointsTotal uint64 `json:"recharge_points_total" db:"recharge_points_total"` // 一天中所有客户充值加起来的总额
	BonusPointsTotal    uint64 `json:"bonus_points_total" db:"bonus_points_total"`       // 赠送积分总额（一天中赠送给所有客户的全部积分）
	AccountId           int64  `json:"account_id" db:"account_id"`                       // 账户id
	LeaderId            int64  `json:"leader_id" db:"leader_id"`                         // 上级账户id
	LeaderName          string `json:"leader_name" db:"leader_name"`                     // 上级账户名称
	CreateAt            int64  `json:"create_at" db:"create_at"`                         // 创建时间
	UpdatedAt           int64  `json:"updated_at" db:"updated_at"`                       // 更新时间
	Deleted             int64  `json:"deleted" db:"deleted"`                             // 标识记录是否被删除（0：没有被删除，1：被删除）
}

type SieveSourceConfig struct {
	ID        int64  `json:"id"  db:"id"`           //  自增id
	Label     string `json:"label"  db:"label"`     //  筛料源标签
	Name      string `json:"name"  db:"name"`       //  筛料源名称
	Alias     string `json:"alias"  db:"alias"`     //  别名
	Default   int64  `json:"default"  db:"default"` //  是否设置为默认筛源
	Status    int64  `json:"status"  db:"status"`   //  1:启用,2:禁用
	CreateAt  int64  `json:"create_at" db:"create_at"`
	UpdatedAt int64  `json:"updated_at" db:"updated_at"`
	Deleted   int64  `json:"deleted" db:"deleted"` //  标识记录是否被删除（0：没有被删除，1：被删除）
}

type BusinessTypeConfiguration struct {
	ID                  uint64 `json:"id" db:"id"`                                          //  自增id
	SieveSourceConfigId uint64 `json:"sieve_source_config_id"  db:"sieve_source_config_id"` //  筛源配置表的主键id
	Name                string `json:"name" db:"name"`                                      //  业务类型
	Desc                string `json:"desc" db:"desc"`                                      //  业务类型描述
	UnitPrice           uint64 `json:"unit_price" db:"unit_price"`                          //  单价（指的是筛选1个号码的价格）
	Status              int64  `json:"status" db:"status"`                                  //  1:启用,2:禁用
	RoleId              uint64 `json:"role_id" db:"role_id"`                                //  创建人所属角色
	Creator             int64  `json:"creator" db:"creator"`                                //  创建人（修改人）
	CreateAt            int64  `json:"create_at" db:"create_at"`
	UpdatedAt           int64  `json:"updated_at" db:"updated_at"`
	Deleted             int64  `json:"deleted" db:"deleted"` //  标识记录是否被删除（0：没有被删除，1：被删除）
}

type BusinessTypeQueryRsp struct {
	ID        uint64 `json:"id,omitempty" db:"id"`       //  自增id
	Name      string `json:"name" db:"name"`             //  业务类型
	Desc      string `json:"desc,omitempty" db:"desc"`   //  业务类型描述
	UnitPrice uint64 `json:"unit_price" db:"unit_price"` //  单价（指的是筛选1个号码的价格）
}

// BusinessPriceScheme  价格方案配置,主要用户代理端可以自行配置价格
type BusinessPriceScheme struct {
	ID          uint64 `json:"id" db:"id"`                   // 自增id
	Name        string `json:"name" db:"name"`               // 方案名称
	Description string `json:"description" db:"description"` // 方案描述
	UserCount   int64  `json:"user_count" db:"user_count"`   // 指该业务方案使用的用户数
	Prices      string `json:"prices" db:"prices"`           // 绑定的价格表
	Default     int64  `json:"def" db:"def"`                 // 是否为默认价格方案 1:启用,2:禁用
	Status      int64  `json:"status" db:"status"`           // 1:启用,2:禁用
	RoleId      int64  `json:"role_id" db:"role_id"`         // 创建人所属角色
	Creator     int64  `json:"creator" db:"creator"`         // 创建人（修改人）
	CreateAt    int64  `json:"create_at" db:"create_at"`
	UpdatedAt   int64  `json:"updated_at" db:"updated_at"`
	Deleted     int64  `json:"deleted" db:"deleted"` // 标识记录是否被删除（0：没有被删除，1：被删除）
}

type BusinessPriceQueryRsp struct {
	ID          uint64          `json:"id" db:"id"`                   // 自增id
	Name        string          `json:"name" db:"name"`               // 方案名称
	Description string          `json:"description" db:"description"` // 方案描述
	UserCount   int64           `json:"user_count" db:"user_count"`   // 指该业务方案使用的用户数
	Prices      json.RawMessage `json:"prices" db:"prices"`           // 绑定的价格表
	Default     int64           `json:"def" db:"def"`                 //
	Status      int64           `json:"status" db:"status"`           // 1:启用,2:禁用
	RoleId      int64           `json:"role_id" db:"role_id"`         // 创建人所属角色
	Creator     int64           `json:"creator" db:"creator"`         // 创建人（修改人）
	CreateAt    int64           `json:"create_at" db:"create_at"`
	UpdatedAt   int64           `json:"updated_at" db:"updated_at"`
}
